查看原文
其他

开源雨林 | 融入开源最好的方法:Learning by doing——ASF新任董事、华为开源管理中心技术专家姜宁访谈实录

开源雨林 开源雨林 2022-07-19



文字 | 王瑶

校对 | 姜宁

出品 | 开源雨林


本期访谈嘉宾:姜宁

姜宁,Apache 基金会(Apache Software Foundation,简称 ASF)2022 年新任董事、Apache Local Community(ALC) Beijing 发起人、华为开源管理中心技术专家,前红帽软件首席软件工程师。有 15 年以上企业级开源中间件开发经验,有丰富的 Java 开发和使用经验,函数式编程爱好者。




Q:首先恭喜姜老师当选 ASF 董事,谈谈您参加竞选的心路历程及经验分享

ASF 是一个全球化的虚拟组织。参与董事会竞选前,参选人可以在邮件列表中通过发表竞选宣言的方式与 ASF 会员进行沟通,大家可以回复提名邮件,发表自己的看法,支持自己的候选人,最后从候选人里面投票选出 9 位董事会成员。


虽然我成为 ASF 会员已经超过 10 年,但这是我第一次参加董事会竞选。为了让各位会员了解我做的工作,我在竞选宣言中阐述了自己在 ASF 的工作经历、帮助本土项目成长以及成立 ALC Beijing 的初衷,包括去年 ALC Beijing 举办的 ApacheCon Asia 的一些经验总结,让大家相信我有能力参与基金会的治理。相信这些都是打动 ASF 会员为我投票的主要原因。

Q:成为 ASF 董事,对您在工作上有什么帮助?

个人层面,对个人影响力及布道有很大的好处,现在有很多媒体来采访,让我有了更多对外发声的机会。


基金会层面,可以为周边相关项目持续发声,为国内的本土项目做贡献。


公司层面,作为领路人帮助同事成为 committer,了解如何参与开源社区,帮助他们少走一些弯路,多快好省地把要做的事情做起来。大家有好的想法或者好的项目,都可以跟我聊,我会尽我所能的帮助大家。

Q:作为 Apache 新晋董事,在任期内有哪些目标和计划?

主要是两个层面。基金会层面,我觉得能够当选 Board Member 是一种荣誉,接下来要做的事情跟原来没有太大的区别。可能更多的是代表 Board 审报告、读报告,对我来说会有另外的收获,例如会对项目有更多的了解,或许未来会有一些合作的机会点。另外,接触到基金会层面的讨论会多一些,有些事情的合作空间会大一些。我们希望能让 Apache 在国内更好地发展起来,ALC Beijing 其实也扮演了一个 Apache 在本土的宣传作用。


Board 层面,我觉得意义更大的是我们现在正在筹备的每年一次的ApacheCon Asia,它能让更多的人了解 Apache 项目,帮助我们国内的项目有更好的露出。站在董事的角度上,要推动 ASF 发展壮大,不仅需要国际化的视野,同时也要立足本土,把国内的开发者带动起来。作为 Board,主要还是扮演好桥梁的角色,帮助拉近 Apache 本地社区和 ASF 总部之间的关系,让大家能够更好地了解彼此,促进合作。

Q:

ASF 有一个很重要的理念“社区大于代码”,Linus 也有一句话“Talk is cheap.Show me the code.”您觉得这两种理念冲突吗?谈谈您的看法

其实不冲突的,主要还是看关注的是哪个层面。对于像 Linus 这样的开源软件开发人员来说,大家相对会比较实际,不要跟我说你能做什么,只有你把东西做出来之后,我才相信。大家交流会很直接,所以我觉得“Talk is cheap.Show me the code.”是很实际的,主要在工程师交流的技术层面。


而 Apache 不仅仅只有技术层面,还有治理层面。好的项目能够发展起来,不是一个人,而是靠一群人,依托委员会的力量把个人智慧汇聚成群体的智慧。

Q:中西方的文化差异与大家参与社区的动力方式有何区别?

在 Apache 整个社区中,决策是通过共识机制来达成的。在 Apache 项目中,没有所谓的项目经理,只有技术领导,大家都有自由表达意见和贡献代码的权利。即使有时候在社区层面无法达成完全共识,但是大家可以通过投票的方式达成最终的一致。所有 PMC 都是平权的,没有独裁者的存在,话语权需要用你的贡献来放大。这样的社区工作模式,最大程度地维护了代码贡献者的利益,也积极推动了社区的健康发展。因为开源社区有共同利益的驱动,很多开源项目可以不断吸引、激励贡献者,最终取得令人瞩目的成就。


沟通方式方面,中西方的差异可能就是熟人社交与陌生人社交了。Apache 更多是通过邮件列表,因为 Apache 是一个全球化的虚拟组织,大家来自世界各地,存在时差,不能进行实时互动。在国内,大家可能会觉得如果给别人写邮件,特别对方是一个陌生人的话,会担心对方不理睬我们的邮件。为了避免这种尴尬的情况,大家会先见一面,或找中间人介绍双方认识,这也是为什么在国内大家会习惯用微信进行交流。


对于邮件列表来说,它不是熟人社交,更多的是大家基于某一个兴趣点联系起来,通过一个邮件列表将邮件转发到相关感兴趣的人的邮箱中。因为邮件列表的订阅和存档的功能特别适合些相互不认识的人之间建立协作关系,我们在辅导项目的过程中,也一直在推这种方式。但实际上考虑到文化差异,可能大家还是用微信比较多一些。


另外像地域、语言、文化方面的差异,国内的开发者很少有机会能够深入的参与到国际开源基金会社区的建设中,这个也是我发起 ALC Beijing 以及将 ApacheCon Asia 带入国内的原因。希望未来能与开源雨林一起,共同打通桥梁,做一些合作共赢的事情。

Q:

Apache 最新的两则消息,比较热的是您当选了 Board,另一个是 Log4j 事件。就 Log4j 事件,您觉得基金会有哪些可以改进的地方?

Apache 软件基金会层面,主要会从以下两个方面来解决这一问题。一个是重申了免责条款,因为开源的交付模式不像商业模式是强契约的,而是较弱的一种模式。这种模式下,基金会的项目是不太了解外部的使用情况的,很难及时通知到相关的用户。为了帮助用户更好地应对漏洞,基金会后续的计划是进一步完善开源项目漏洞的通知机制。


另一个是在开发过程中尽量避免出现安全漏洞代码,需要给大家做更多赋能或者寻求一些商业服务支撑。平时 ASF 项目开发者可能会花更多精力在开发层面上,安全方面的意识还需要提升,大家需要掌握一些基本的安全编码的知识。后续 ASF 也会与 OpenSSF 加强合作,同时 ASF 也会和一些安全问题响应时间较长的项目合作,帮助他们提升这方面的能力,解决一些实际安全问题。


现在安全漏洞较多的是前端的应用程序,但 Apache 大部分都是后端开发人员,也借这个机会打一个广告:大家如果对前端开发感兴趣的话,可以与我联系,大家一起把 Apache 前端安全漏洞方面的能力建设起来。

Q:2021年的一组开源调查数据显示,73.6%的开源参与者没有收入,54.7%的开源参与者月收入小于1000元。就中国开源开发者的现状,谈谈您的看法

Apache 软件基金会的愿景使命是“为公众生产免费的开源软件”,但软件开发和维护需要持续投入很多资源虽然 Apache 软件基金会会给开发人员直接开工资但是基金会建立很好的法律框架和商业友好的许可协议,因此很多Apache 项目的开发者是受雇于商业公司进行开发的


国内的开源软件发展时间较短,处于起步阶段,未来3-5年将会是这一产业高速发展时期,处于各发展成熟期的软件产业都有望加入到开源阵营中,不会像十年前一样靠着一腔热血,现在还是有经济收益在的,大家也能更踏实的参与到开源项目中。

Q:谈谈您对开源的理解及对开源雨林的建议

从个人发展角度来说,基础的知识储备是很关键的。在开放的环境下做开发也是一个非常好的锻炼机会。在开源社区,会有很多大神级的程序员扮演导师的角色,发现并指出代码中存在的问题,无条件地把经验传授给年轻的程序员,帮助他们找到技术拓展的空间。我就是在这样一个不断磨合的过程中成长起来的,在做的过程中不断学习,所以我非常鼓励大家加入开源社区,一步一步跟着项目走,扎实的成长起来。


另一方面是协作,借助于网络、开放的环境,大家能更好地协作起来。现在很多项目都托管在 GitHub 或其他平台上,大家很容易能参与进去。ASF 的项目管理不是一人堂,更多的是在社区里达成共识,团结一切可以团结的力量,去攻克难题,享受攻克难题的成就感,这样也能很快把事情做完,很多问题都可以快速解决。


社区其实就是大家有着共同的目标,一起朝着目标去做事。社区里大家交互的数据分为两类:信息、知识。我们在社区参与中,获得更多的是知识。信息只要保证顺畅的传递就可以了,但知识需要大家反复去理解,在切磋过程中不断加深。


在开源社区里,学习和赋能都是需要持续的。现在的赋能,更多的是知识普及,开源项目不是说只是代码贡献,像偏文档性的写作也是开源协作的一部分。赋能方面,更多的是有能力的人带一些徒弟,在具体做项目的过程中把知识传递,而不像大公司,可能有专门的培训部甚至大学这样的机构负责这方面的工作。


如果把这块映射到开源雨林,建议就开源管理方面建立一种途径,把大家的问题汇总起来,持续不断做沉淀,紧跟时代的步伐,进行知识迭代,进一步的传递给我们的成员或者赋能对象。融入开源最好的方法就是 Learning by doing,在做具体实际的事情的过程中,不断加深对开源的理解。如果这种机制建立起来的话,相信开源雨林一定会生生不息、不断地繁衍下去!




 什么是开源雨林?

开源雨林是一次全新的尝试,它通过开源的方式从开源通识、开源使用、开源贡献三大方面构建开源相关的知识体系,帮助企业理解开源理念,掌握实战方法,让越来越多的企业更有效率地使用开源、贡献开源。


同时,开源雨林也将发挥共建各方的技术优势与经验优势,在团队、机制、项目三方面提供咨询服务,协助企业构建开源能力中心,逐步提升全行业开源技术水平。 


开源雨林的内容全部托管在 https://github.com/opensource-rainforest 下,欢迎通过 Pull Request 的形式贡献内容,通过 Issue 的形式展开讨论,共同维护开源雨林的内容。


具体而言,开源雨林把相关的理论和案例总结为多门开源专业课程,以授课的方式让企业快速具备实战基础。同时,开源雨林也会选择和部分企业共建开源能力中心,或者采用联合创新项目的方式完成企业组织和流程搭建,让企业具备实战能力。


如今,开源生态已经成为全球数字科技创新的关键所在。随着开源雨林在金融行业的落地,将逐步在各行业展开,国内开源生态也将迎来全新的发展机遇。未来,华为也将秉承开放、共创、繁荣、共赢的开源理念,与开源生态中的伙伴们并肩携手,共同构建枝繁叶茂的“开源雨林”生态体系和社区,吸引和帮助越来越多的企业融入开源生态,助力企业和开源业态蓬勃发展,合作共赢数字化时代。




往期推荐

开源雨林 | WebCell前端框架作者水歌访谈实录


点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦~
点分享点收藏点点赞点在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存